" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
" the call to :runtime you can find below.  If you wish to change any of those
" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
" will be overwritten everytime an upgrade of the vim packages is performed.
" It is recommended to make changes after sourcing debian.vim since it alters
" the value of the 'compatible' option.

runtime! debian.vim

" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
" let g:skip_defaults_vim = 1

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
"au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"filetype plugin indent on

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd		" Show (partial) command in status line.
"set showmatch		" Show matching brackets.
"set ignorecase		" Do case insensitive matching
"set smartcase		" Do smart case matching
"set incsearch		" Incremental search
"set autowrite		" Automatically save before commands like :next and :make
"set hidden		" Hide buffers when they are abandoned
"set mouse=a		" Enable mouse usage (all modes)

" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif


if has("cscope")
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif

nmap <C-f> :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-c> :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-0>d :cs find d <C-R>=expand("<cword>")<CR><CR>

 nmap T :!`find . -name "*.c" -o -name "*.h" -o -name "*.cpp"  -o -name "*.inc"  > cscope.files &&  cscope -kqb -i cscope.files && ctags -R --fields=+laimS --extra=+qf --c++-kinds=+p --exclude=.git --exclude=node_modules --exclude=*.js --exclude=*.json --langmap=c:.c.cpp . `  <CR> :cs reset<CR><CR>

" nmap T :!`cscope-indexer -r && ctags -R`  <CR> :cs reset<CR><CR>

nmap <leader>t :!git diff %  <CR>


map Y yiw
map E viwpyiw
map <space> ciw
set cindent
set tabstop=8
colorscheme default

function! InsDate()
  let l:date = strftime("%Y-%m-%d %H:%M:%S")
  execute "normal i" . l:date
endfunction

function Puf0(pre)
	let exe_str = "normal " . "$F.lyiwf,hpbi" .  a:pre . "_"
	execute "normal ^f(lld0i."
	execute "normal =="
	execute "normal ^f)DA = ,"
	execute  exe_str
endfunction


function Puf1(pre)
        let exe_str = "normal " . "^f(xxf)xbi" .  a:pre . "_"
        execute "normal ^istatic "
        execute  exe_str
        execute "normal =="
endfunction

" set cursorline
" highlight CursorLine ctermbg=167 ctermfg=16
" autocmd ColorScheme * highlight CursorLine ctermbg=167 ctermfg=16
" ctermbg 219
colorscheme desert
